<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // ajax  流程
        // 手写ajax 
        // promise版ajax
        // async await 
        // 事件轮询  --- 微任务和宏任务

        // 跨域  整理笔记

        // SPA  

        // sass  less  

        // 什么是nodeJS ， 认识命令行

        //     fs系统  文件操作
        //     url模块
        //     path模块
        //     http模块



        
        // # 什么是 node ?
        //     + 一个基于 ChromeV8 解析引擎的 JavaScript 运行时环境
        //     + 私人:
        //         => 把浏览器内的 js 解析引擎拿出来, 和其他内容进行组装
        //         => 变成了一个新的内容, 叫做 nodeJS

        // # 前端 js 和 nodeJS 的区别
        //     + 前端JS
        //         => 当 js 被引入 html 页面以后, 放在浏览器内执行的时候
        //         => 才会有 BOM 和 DOM
        //         -> BOM 是 浏览器给的
        //         -> DOM 是 html 给的
        //     + nodeJS
        //         => 在你的电脑操作系统中, 直接单独的运行 js
        //         => 没有 BOM 和 DOM 了, 只剩下 JS 语法
        //         => 因为是运行在电脑操作系统中
        //         -> 可以操作 文件/文件夹(I/O)
        //         -> 可以操作 操作系统
        //         -> 可以操作 数据库
        //         -> ...


        // # 前端 js 和 nodeJS 的区别
        //     + 前端 js
        //         => 可以 非模块化开发, 可以 模块化开发
        //         => 为什么可以 非模块化开发
        //         -> 因为你把多个 js 文件引入到了一个 html 文件内
        //         -> 一个 window 就是一个 html 文件
        //         -> 实际上多个 js 文件使用的是一个 全局(window)
        //     + nodeJS
        //         => 必须模块化开发
        //         => 因为他是直接执行 js 文件, 没有全局
        //         => 使用的 CommonJS 的模块化语法规范

        // # js 代码
        //     + 代码是没有错误的
        //     + 关键的问题是你将来需要把这个文件使用在什么位置
        //     + 假设将来你需要把这个 js 文件放在前端使用(引入 html 页面放在浏览器运行)
        //         => 那么你需要在该 js 文件内书写 BOM 和 DOM 的相关操作
        //         => 不能写操作 文件/文件夹 之类的代码
        //     + 假设将来你需要把这个 js 文件放在 nodeJS 环境运行
        //         => 那么你不能书写 DOM / BOM 相关的操作
        //         => 你需要写的是 文件/文件夹 之类的操作

        // # nodeJS 的作用
        //     + 使用 javascript 这个语言进行后端相关代码开发
        //     + 按照 CommonJS 模块化开发语法规范进行书写代码


    </script>
    
</body>
</html>